/*
头盔：Helmet
铠甲：Armor
护腿：Greaves
护肩：Pauldrons
手套：Gloves
靴子：Boots
指套：Fingerless gloves（如果是那种包裹手指部分的指套，也可用 Gauntlet 来表示部分款式）
戒指：Ring
项链：Necklace

眼部：eye
嘴部：oral
耳部：ear
头部：head
腿部：leg
脚部：foot
脖子：neck
手部：hand
手指: finger
脚趾: toe
躯干:trunk
*/

inherit "inherit/object"

number main(object me,string arg){

    if( !arg ){
        tellObject(me,"你要往哪儿走？");
        return 0;
    }

    if( !environment(me) ){
        tellObject(me,"你现在的情况还是赶紧联系巫师吧！");
        return 0;
    }
    object env = environment(me);
    //出口数据
    map exits;
    string exitIdent;
    object destExit;

    if( !mapp( (exits = env.query("exits")) )  ){
        tellObject(me,"这儿的出口有些问题！！");
        return 0;
    }
//
    if( !(exitIdent = exits[arg])  ){
        tellObject(me,"这个方向没有出口！");
        return 0;
    }
//
//    tellObject(me,"目标出口地址是"+exitIdent);
     if( strsrch(exitIdent,"#") < 0 ){//没有转换成对象的地址

//        destExit = new(exitIdent);
//        //把目标房间的所有出口遍历一遍，找出和环境一样的，再替换成环境的
//        var destExitPaths = destExit.query("exits");
//        string path = baseName(env);
//        foreach(k  in keys(destExitPaths)){
//             if( strsrch(destExitPaths[k],path) >= 0 &&  strsrch(destExitPaths[k],"#") < 0 ){
////               tellObject(me,"给目标房间赋值成功");
//                destExitPaths[k] = fileName(env);
//             }
//        }
//        exits[arg] = fileName(destExit);
        println("出口没有实例化"+exitIdent);
        return 0;
     }else{
        if(  !objectp( (destExit = findObject(exitIdent)) )  ){
           tellObject(me,"这个地方过不去！");
           return 0;
        }
     }
//    println( "找到的环境是" + baseName(destExit) );

    me.move(destExit);
    //通知目的房间的所有人
    string bodyInf;
    if( me.queryTemp("skin/parts/trunk") ){//上身穿了什么
        bodyInf = "身穿"+me.queryTemp("skin/parts/trunk").query("name");
    }else if( !me.queryTemp("skin/parts/trunk") && !me.queryTemp("skin/parts/leg") ){
        bodyInf="光着身子";
    }else if(!me.queryTemp("skin/parts/leg")) {
        bodyInf="光着屁股";
    }else{
        bodyInf="一丝不挂的";
    }


    tellEnv(destExit,me.query("name")+bodyInf+" 走了过来。");

    tellObject(me,"你来到了 "+destExit.query("short")+" 。"+baseName(destExit));
}

